home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Surfer 2.0
/
Internet Surfer 2.0 (Wayzata Technology) (1996).iso
/
pc
/
text
/
mac
/
faqs.524
< prev
next >
Wrap
Text File
|
1996-02-12
|
28KB
|
841 lines
Frequently Asked Questions (FAQS);faqs.524
#
set in [open [concat "|/usr/bin/grep $site $files"] r]
while {[gets $in line]>-1} {
puts stderr $line
}
catch {close $in}
}
One thing: the matching strings are _not_ returned in directory order.
But what if I want to check the return code AND use the output of
the command? kennykb@dssv01.crd.ge.com (Kevin B. Kenny) writes:
if [catch {exec ls} data] {
# The exec got an error, and $errorCode has its termination status
} else {
# The exec succeeded
}
# In any case, `data' contains all the output from the child process.
Note that Karl Lehenbauer adds that errorCode will be a list containing
three elements, the string "CHILDSTATUS", the process ID of the child,
and the exit status of the child.
Subject: -Q8e- merge extended Tcl into other programs such as wish or expect?
A8e. The latest version of extended TCL, tclX 6.2B, has been enhanced to
make it easier to incorporate into applications.
Subject: -Q8f- delete a procedure from within a script?
A8f. rename procedureName ""
Subject: -Q8g- get parray to recognize an array variable I have created
via upvar?
A8g. Right now (June, 1992) upvar doesn't allow you to attach to an
individual element of an array. This is considered a bug by
Mr. Ousterhout and has been place on a bug list.
Subject: -Q8h- get more than 7 digits of double precision ?
A8h. Modify the tclExpr.c module to use %lf instead of %g.
Subject: -Q8i- grab the command line whenever a non-built-in call is made?
A8i. The procedure "unknown" is called automatically with arguments
containing the command and its arguments for any command that couldn't be
found. In fact, Tcl and Extended Tcl use this feature to provide demand
loaded commands, and even entire libraries.
So by modifying the unknown procedure you can provide your own extended
functionality, or even remove the demand loading capability if you so
desire.
------------------------------
Subject: -9- How, in Tk, can I XXX:
Subject: -Q9a- get my wish application to execute - I just get a
wish prompt! Or I just get error msgs about permission
denied, not found, etc.
A9a. Most systems require a full pathname to the interpreter. So you cannot
start a wish script out as
#! wish -f
Likewise, many Unix systems have a maximum length of characters that you can
put on a #! line. If you exceed this, you do not get the behaviour you
expect. So do not try to put something like:
#! /projects/somethingbig/bin/sun4/wish -f
followed by your wish code. Keep the lines short - under 30 characters is
recommended.
Subject: -Q9b- get an application to also use libXt?
A9b. Tk2.1 and Xt have different X connections, and XtAppNextEvent will
block is there is nothing coming from the X connection. One way
of fixing this is get the connection number of Tk using
ConnectionNumber(Tk_Display(tk_window));
and using XtAddInput to register this with the Xt event handler. The
callback procedure for XtAddInput wrapper procedure that runs
Tk_OneEvent(1). There might be problems with Tk file sources which
aren't registered with Xt.
Thanks to joe@astro.as.utexas.edu (Joe Wang) for this information.
Subject: -Q9c- ,using a machine with less than 8 bit color, run?
A9c. Tk doesn't behave very well with less than 8-bit color screens. To
try to use it, find all the places in the Tk/wish source where
DefaultDepthOfScreen is invoked to test the number of bit-planes. Change all
of these to pretend there is just 1 bit-plane, or call a procedure which
monitors a Tcl variable so that it is configurable, and you should be okay.
Another alternative is to see if the server you are using has alternative
visual / color models, such as static visual, etc. One of the alternatives
may allow Tk to work better.
Thanks to "Nathaniel Borenstein" <nsb@thumper.bellcore.com> for this info!
Subject: -Q9d- set X11 resources for a wish application in an app-defaults file?
A9d. Read the documentation for the option command.
Then you should consider something like the following - assume the program
name is xwf.
The following are two general purpose functions to put into a library:
# envVal envValName
# Looks up the envValName environment variable and returns its
# value, or {} if it does not exists
proc envVal {envValName} {
global env
if [info exists env($envValName)] {return $env($envValName)} {return {}}
}
# loadAppDefaults classNameList ?priority?
# Searches for the app-default files corresponding to classNames in
# the order specified by X Toolkit Intrinsics, and loads them with
# the priority specified (default: startupFile).
proc loadAppDefaults {classNameList {priority startupFile}} {
set filepath "[split [envVal XUSERFILESEARCHPATH] :] \
[envVal XAPPLRESDIR] \
[split [envVal XFILESEARCHPATH] :] \
/usr/lib/X11"
foreach i $classNameList {
foreach j $filepath {
if {[file exists $j/$i]} {
option readfile $j/$i $priority; break
}
}
}
}
# Now, here is what you would put into xwf:
option add Tk.BoldFont "*-lucida sans-Bold-R-Normal-*-100-*" widgetDefault
loadAppDefaults {xwf XWF} userDefault
This sets a program default, then load any defaults specified in the user's
default resources and finally any site or general app-defaults resource.
Of course, you would want to add some xwf command line handling to allow
the user to override things at execution time.
Subject: -Q9e- change the X11 cursor?
A9e. Here is a tip from mgc@cray.com (M. G. Christenson).
Look at /usr/include/X11/cursorfont.h for a list of available cursors.
You can use the names in there by removing the 'XC_'.
Here's a little proc I use to make my entire application go 'busy'
while it's doing something. Just call it with the commands you want to
execute, and the watch cursor will be displayed for the time it takes
the commands to complete. Note that any new windows will have their
normal cursor.
proc busy {cmds} {
global errorInfo
set busy {.app .root}
set list [winfo children .]
while {$list != ""} {
set next {}
foreach w $list {
set class [winfo class $w]
set cursor [lindex [$w config -cursor] 4]
if {[winfo toplevel $w] == $w || $cursor != ""} {
lappend busy [list $w $cursor]
}
set next [concat $next [winfo children $w]]
}
set list $next
}
foreach w $busy {
catch {[lindex $w 0] config -cursor watch}
}
update idletasks
set error [catch {uplevel eval [list $cmds]} result]
set ei $errorInfo
foreach w $busy {
catch {[lindex $w 0] config -cursor [lindex $w 1]}
}
if $error {
error $result $ei
} else {
return $result
}
}
Subject: -Q9f- raise or lower a window?
A9f. This is on the (semi-infinite) list of things to be done in the future.
If you have the time, please go ahead and add it and submit the code and all
will be grateful.
Subject: -Q9g- re-map a withdrawn window id?
A9g. Use wm deiconify <windowid>.
Subject: -Q9h- specify bitmap patterns on the command line instead of as
a file name?
A9h. You can not, at least as of June, 1992.
Subject: -Q9i- change the default class bindings?
A9i. All default class bindings for Tk widgets are initialized in
$tk_library/tk.tcl. Use this file as a guide to implement new
bindings. For instance, the following code duplicates Button 1's
drag-select facility in Button 3 for all listboxes:
bind Listbox <3> {%W select from [%W nearest %y]}
bind Listbox <B3-Motion> {%W select to [%W nearest %y]}
Subject: -Q9j- delete a binding?
A9j. Give an empty-string command to the "bind" invocation. For
example, to disable the Delete key in all entry fields:
bind Entry <Delete> {}
Subject: -Q9k- change a binding while it is being executed?
A9k. As of June, 1992, this was not a safe thing to do in Tk. It was
put on the bug list by John Ousterhout to be fixed in a future version.
The solution for now is not to change the bindings, but to change
something in the code they execute. For example, keep a state variable
that indicates which binding you'd like, but always have the binding
call a given procedure. Then that procedure checks the variable and
executes one piece of code or another. Or, you could just make the
binding's command "eval $cmd" and then change the variable "cmd"
depending on your application's state.
Subject: -Q9l- bind the arrow key on my Sun keyboard?
A9l. You have to call it <Left> rather than <R10>. Under X11, keys are
referred to by their keysym. One can use either xmodmap -pk or the xev
program to determine what the keysym a particular key on a keyboard is
currently generating.
If the keysym that is being used is not known by Tk, you may have to edit
it's ks_names.h file. There is a note in this file that indicates that
one should not edit it - but this is where the keysym must be for it to
be recognized.
Thanks to Wayne Christopher <faustus@ygdrasil.CS.Berkeley.EDU> for this
note.
Subject: -Q9m- resize a listbox?
A9m. Use wm min/maxsize - in a uniform manner. Here is a resizable listbox:
#!/usr/local/bin/wish -f
wm minsize . 20 20
wm maxsize . 1152 900
pack append . [listbox .l -borderwidth 2 -relief raised] {expand fill}
Doing the same with the text widget brings its resizing under control too.
Thanks to "John C Ellson" <ellson@ontap.att.com).
Subject: -Q9n- select two items that are not adjacent in the listbox at
one time?
A9n. You can't. Build your own listbox using boxes and text on a canvas.
Then you will be able to select non-contiguous entries.
Subject: -Q9o- select items in more than one tk listbox at a time?
A9o. The default for tk's listbox widget exports its selection as the
X selection. There can only be one of these at a time.
To turn of this behavior in tk, use the -exportselection false when
you create the listbox. Or, use the
option add *Listbox.exportselection false
command in the beginning of your script.
Thanks to David Herron <david@twg.com> for this tip.
Subject: -Q9p- fill a canvas which is bounded by lines as opposed to a
shape like a polygon, oval, etc.?
A9p. No, you have to at least use a polygon if you want to fill an area
bounded by some lines.
Subject: -Q9q- create a scrollable window of buttons?
A9q. There are at least two ways to do this. First, there is a hypertext
widget that one can get from the Barkley User Contributed Code Archive which
provides such a facility. And here is some sample code from
"Michael Moore" <mdm@stegosaur.cis.ohio-state.edu> which shows a way to
do this using just Tk.
#! /bin/wish -f
#
# This demonstrates how to create a scrollable canvas with mutliple
# buttons.
#
# Author : Michael Moore
# Date : November 17, 1992
#
#
# This procedure obtains all the items with the tag "active"
# and prints out their ids.
proc multi_action {} {
set list [.frame.canvas find withtag "active"]
puts stdout "Active Item Ids : "
foreach item $list {
puts stdout $item
}
}
#
# This simulates the toggling of a command button...
# Note that it only works on a color display as is right now
# but the principle is the same for b&w screens.
#
proc multi_activate {num id} {
set tags [.frame.canvas gettags $id]
if {[lsearch $tags "active"] != -1} {
.frame.canvas dtag $id "active"
.frame.canvas.button$num configure \
-background "#060" \
-activebackground "#080"
} else {
.frame.canvas addtag "active" withtag $id
.frame.canvas.button$num configure \
-background "#600" \
-activebackground "#800"
}
}
proc setup {} {
frame .frame
scrollbar .frame.scroll \
-command ".frame.canvas yview" \
-relief raised
canvas .frame.canvas \
-yscroll ".frame.scroll set" \
-scrollregion {0 0 0 650} \
-relief raised \
-confine false \
-scrollincrement 25
pack append .frame \
.frame.scroll {left frame center filly} \
.frame.canvas {left frame center fillx filly}
pack append .\
.frame {left frame center fillx filly}
button .frame.canvas.button$i \
-relief raised \
-text "Action" \
-command "multi_action"
.frame.canvas create window 1 25 \
-anchor w \
-window .frame.canvas.action
for {set i 2} {$i < 26} {incr i} {
button .frame.canvas.button$i \
-relief raised \
-background "#060" \
-foreground wheat \
-activebackground "#080" \
-activeforeground wheat \
-text "Button $i"
set id [.frame.canvas create window 1 [expr $i*25] \
-anchor w \
-window .frame.canvas.button$i]
.frame.canvas.button$i configure \
-command "multi_activate $i $id"
}
}
setup
--
Larry W. Virden UUCP: osu-cis!chemabs!lvirden
Same Mbox: BITNET: lvirden@cas INET: lvirden@cas.org
Personal: 674 Falls Place, Reynoldsburg, OH 43068-1614
--
Larry W. Virden UUCP: osu-cis!chemabs!lvirden
Same Mbox: BITNET: lvirden@cas INET: lvirden@cas.org
Personal: 674 Falls Place, Reynoldsburg, OH 43068-1614
Xref: bloom-picayune.mit.edu comp.lang.tcl:2076 news.answers:4540
Newsgroups: comp.lang.tcl,news.answers
Path: bloom-picayune.mit.edu!enterpoop.mit.edu!spool.mu.edu!caen!malgudi.oar.net!chemabs!lvirden
From: lvirden@cas.org (Larry W. Virden)
Subject: comp.lang.tcl Frequently Asked Questions (3/3)
(Last updated: November 8, 1992)
Message-ID: <tcl.p3_724079551@cas.org>
Followup-To: comp.lang.tcl
Summary: A regular posting of the comp.lang.tcl Frequently Asked Questions
(FAQ) and their answers. This is the third of three parts.
Originator: lwv26@lwv26aws
Keywords: tcl, expect, extended tcl, wish, tk
Sender: lvirden@cas.org
Supersedes: <tcl.p3_721227419@cas.org>
Reply-To: lvirden@cas.org (Larry W. Virden)
Organization: Chemical Abstracts Service
References: <tcl.p2_724079551@cas.org>
Date: Fri, 11 Dec 1992 13:13:52 GMT
Approved: news-answers-request@MIT.Edu
Expires: Sun, 24 Jan 1993 13:12:31 GMT
Lines: 786
Archive-name: tcl-faq/part3
Version: 2.6
Last-modified: November 8, 1992
Index of questions:
9. Where can I get these packages?
a. Retrieving Tcl and Tk
b. Accessing the Tcl/Tk User Contributions Archive
c. Expect available via e-mail.
d. tcl-mode.el
10. What are some examples of applications using Tcl and/or Tk?
o Alpha
o arTCLs
o BOS
o browse.tcl
o BYO
o calc.tk
o coloredit
o dostcl
o Expect
o expecTerm
o Extended Tcl
o fn and ForumNet
o hp-tcl-cdplay
o js tools
o Libsearch
o MacOS Tcl
o Modules
o MS-DOS Tcl
o Mx
o Point
o Picasso
o reversi
o Roger's Interface Language (RIL)
o smaillog.tcl
o ServiceMail(TM) Toolkit
o Tcl
o tclbot
o tcltt
o tickle
o Tk
o tk WWW interface
o tupact.tcl
o Tx
o unix.tk
o wafe
o workman
o Xdig
o xf
11. Since Tcl/Tk appear to be extensible, are there any common extensions?
o Calc_Object
o deck.tk
o Drag and Drop
o SunOS dld package
o graph
o lisp2wish
o Mxedit
o parseargs.tcl
o Photo widget
o Pixmap modifications
o Postgres extensions
o showproc.tcl
o SIPP extensions
o sybtcl
o tclprof
o tclRawTCP
o tclsql
o tclsockets
o tclTCP
o tclvogle
o tclcompare
o tclConnect
o tcl_curses
o tcl_debugger
o tcl_snmp
o tcl_streams
o tclX dynamic library patches
o tclX / Tk merge
o tcpConnect
o tk Bell and Cutbuffer patches
o Tk Emacs
o tkFScale
o tk-mod.shar
o tkText (Tk 1.3 compatible)
o tkText (Tk 2.0 compatible)
o wmstuff
o Xpm support
12. Are there any commercial packages which use Tcl/Tk?
End of FAQ Index
--------------------------------------
Subject: -9- Where can I get these packages?
The "home site" for Tcl on the Internet is sprite.berkeley.edu.
Sprite is an experimental research machine whose IP servers
occasionally flake out. If you find that sprite is refusing
connections, send mail to "root@sprite.berkeley.edu", wait a few
hours, and try again.
Tcl and Extended Tcl were posted to comp.sources.misc, appearing
November 14th, 1991, and can be found at most comp.sources.misc
archive sites in the tcl and tclx directories.
a. Tcl - available on sprite.berkeley.edu
b. Tk - available on sprite.berkeley.edu
c. Extended Tcl - available on sprite.berkeley.edu and barkley.berkeley.edu
The IP address for barkley.berkeley.edu is 128.32.142.237 .
The IP address for sprite.berkeley.edu is ??.??.??.?? .
Another site that provides a mirror of all the tcl/tk submissions - to both
sprite and barkley - is sunsite.unc.edu. Check in their /pub/languages/tcl
directory.
In Europe, use ftp.funet.fi:/pub/languages/tcl. It should mirror both
sprite and barkley once a week.
From: ouster@sprite.Berkeley.EDU (John Ousterhout)
Newsgroups: comp.lang.tcl
Subject: Obtaining Tcl/Tk sources
For people new to the Tcl/Tk community, here is information on how
to obtain Tcl and Tk sources. The information below describes what
I distribute; other information is available from other machines
also, such as barkley.berkeley.edu .
--------------------------------------
Subject: -9a- Retrieving Tcl and Tk
The sources and documentation for the Tcl command
language library, for the Tk toolkit, and for a few Tcl-based
applications, are in the public FTP area on sprite.berkeley.edu.
All of these files are in the "tcl" subdirectory of the FTP area.
Here is a catalog of what's available. Most of the files are
compressed tar files ("xxx.tar.Z"). There is some overlap
between the contents of the various packages.
tk2.3.tar.Z - This is the latest release of the Tk toolkit, released
in August 1992. It includes a complete copy of the
Tcl 6.4 release (the version of Tcl with which it is
compatible) plus a simple windowing shell called
"wish". If you retrieve this file you don't need to
retrieve Tcl separately.
tk2.3.patch.Z - A patch file to upgrade from the 2.2 release of Tk
to 2.3. Invoke patch in the top-level Tk directory
with the "-p" switch and an uncompressed version of
this file, e.g. "patch -p < tk2.3.patch".
tcl6.4.tar.Z - This is the newest release of the Tcl library.
It became available in August 1992. This package
includes only the Tcl library and its documentation,
plus a simple main program for testing.
tcl6.4.patch.Z - A patch file to upgrade from the 6.3 release of Tcl
to 6.4. Invoke patch in the top-level Tcl directory
with the "-p" switch and an uncompressed version of
this file, e.g. "patch -p < tcl6.4.patch".
tclX6.4c-p1.tar.Z - Extended Tcl (or NeoSoft Tcl), created by Mark
Diekhans and Karl Lehenbauer, which adds a number
of useful facilities to the base Tcl release.
Among the things in Extended Tcl are a Tcl shell,
many new commands for things like UNIX kernel
call access and math library routines, and an
on-line help facility. This file is based on Tcl
6.4 and also works with Tk 2.3.
tclX6.4c.patch1.Z - Patches to update tclX6.4c.
mx.tar.Z - Sources and documentation for a mouse-based text
editor (mx) and terminal emulator (tx) based on
Tcl. This is a very old release: it uses an old
version of Tcl (which is included) and doesn't
even use Tk; it uses an ancient toolkit called
"Sx". These tools will eventually be replaced
with new tools based on Tk and the newest Tcl.
mx-2.5.tar.Z - Newer version of mx (see above) that uses the
standard X selection mechanism rather than the
homegrown mechanism used by previous versions.
Version 2.5 is not backwards compatible with
previous versions (you can't cut and paste between
the two). Still uses sx and an old version of
Tcl (both of which are included).
mx-2.5.patch.Z - Patch file for converting mx 2.4 sources into 2.5.
Invoke patch in the top-level mx directory
with the "-p1" switch and an uncompressed version of
this file, e.g. "patch -p1 < mx-2.5.patch".
book.p1.ps.Z Compressed Postscript for a draft of the first part
of an upcoming book on Tcl and Tk to be published in
1993 by Addison-Wesley. This part of the book
describes the Tcl language and how to write scripts
in it. About 130 pages in length.
tclUsenix90.ps - Postscript for a paper on Tcl that appeared in the
Winter 1990 USENIX Conference. This paper is also
included in the Tcl and Tk distributions.
tkUsenix91.ps - Postscript for a paper on Tk that appeared in the
Winter 1991 USENIX Conference. This paper is also
included in the Tk distribution.
tkF10.ps - Postscript for Figure 10 of the Tk paper.
talk1.ps - Postscript for viewgraphs from first of five talks
in the Tcl tutorial at the 1992 X Conference (the
same talk was also given at the 1992 USENIX Winter
Conference). This talk gives an overview of Tcl
and Tk.
talk2.ps - Postscript for viewgraphs from second of five talks
in the Tcl tutorial at the 1992 X Conference. This
talk describes how to write scripts in the Tcl
language.
talk3.ps - Postscript for viewgraphs from third of five talks
in the Tcl tutorial at the 1992 X Conference. This
talk describes how to program the Tk toolkit using
Tcl scripts.
talk4.ps - Postscript for viewgraphs from fourth of five talks
in the Tcl tutorial at the 1992 X Conference. This
talk describes how to write new Tcl-based applications
in C.
talk5.ps - Postscript for viewgraphs from last of five talks
in the Tcl tutorial at the 1992 X Conference. This
talk describes how to write implement widgets in C
using the Tk library. This talk uses a simple
"square" widget as an example; the code for the
widget is in tkSquare.c.
tkSquare.c - Sample code for use in conjunction with talk5.ps.
In addition, there may be older releases of some or all of the above
files; look for files with earlier release numbers.
To retrieve any or all of these packages, use anonymous FTP to
sprite.berkeley.edu (Internet address 128.32.150.27). Use user
"anonymous"; when asked for a password, type your login name. Then
retrieve the relevant file(s) with the commands like the following:
type image (try "type binary" if this command is rejected)
cd tcl
get tcl6.4.tar.Z
get tk2.3.tar.Z
Be sure to retrieve files in image mode (type "type image" to FTP)
in order to make sure that you don't lose bits.
Any file with a .Z extension is a compressed file, which means you must
use the "uncompress" program to get back a normal file. For example, for
the file tk2.3.tar.Z, you should type
uncompress tk2.3.tar.Z
once you've retrieved the file. This will produce a file named "tk2.3.tar".
Then you will need to use tar to extract the members. Typically one
would use a command such as:
tar xv tk2.3.tar
to extract the pieces.
Each of the releases has a README file in the top-level directory that
describes how to compile the release, where to find documentation, etc.
Questions or problems about any of these distributions should be directed
to John Ousterhout (ouster@cs.berkeley.edu).
If you don't have access to Sprite, you can also retrieve some or
all of the above files from other FTP repositories. Here is a
sampler of machines that store some or all of the Tcl/Tk information,
plus the directories in which to check:
ftp.uu.net: languages/tcl/*
export.lcs.mit.edu: contrib/tk*
barkley.berkeley.edu: tcl/*
--------------------------------------
Subject: -9b- Accessing the Tcl/Tk User Contributions Archive
Contributions to the Tcl/Tk Contrib Archive are most welcome --
please upload them to:
barkley.berkeley.edu:/incoming [128.32.142.237]
send the archive maintainer <tcl-archive@barkley.berkeley.edu> a note stating
the names of the files you uploaded and a brief description of the whole
thing.
Barkley is the central file server for a moderate-size cluster, so
please try to refrain from FTPing stuff between 9am and 5pm PST (GMT
-0800). No mail-archive service is planned as yet -- users without
FTP capability should use one of the following mail-based FTP services
(send mail to the appropriate address with "help" in the body):
WARNING! The archive maintainer will NOT be automatically archiving anything
posted to comp.lang.tcl or previously to the mailing list. So if you want
your nifty porting instructions for getting Tcl up on your Seiko wrist watch
or your pen computer to be saved for others benefit, be sure to ftp them into
the archive.
All contributions should be placed in barkley's ~ftp/incoming
subdirectory. Please send tcl-archive@barkley.berkeley.edu a short
mail message stating the filename(s) of your contribution and a brief
description (for the Index). If you've posted some code to
comp.lang.tcl or the Tcl mailing list, and you want it to be archived
at this site, please deposit it in ~ftp/incoming or mail it in a
suitable form (preferably uuencoded compressed tar file, but a shar
file's OK) to tcl-archive@barkley.berkeley.edu.
Note: I have noticed that some authors prefer to use plain names rather than
version level type names. This means that you should a) make note of when
you get a package, and b) check the archive occasionally to see if a newer
version of the package has appeared.
-------------------------------
Subject: -9c- Expect available via e-mail.
Besides being available via ftp, expect can also be received by email
by sending the message "send pub/expect/expect.shar.Z" to
library@cme.nist.gov .
-------------------------------
Subject: -9d- tcl-mode.el
"Sean Levy" <snl+@cs.cmu.edu> has hacked a version of Emacs's C mode into
a tcl-mode.el. He mentions that you must use semi-colons at the end
of each statement to get indentation to work right, but he found that
easier than doing without.
The code is on sambar.ndim.edrc.cmu.edu (128.2.214.236) under
/afs/cs/user/snl/public/tcl-mode.el.Z (don't forget binary mode) as well
as barkley.berkeley.edu.
"Julian Anderson" <jules@kauri.vuw.ac.nz> was also working on an Emacs Tcl
minor mode to fundamental.
"Chris Lindblad" <cjl@lcs.mit.edu> has contributed tcl.el, a Tcl mode for
GNU emacs, to barkley.berkeley.edu.
------------------------------
Subject: -10- What are some examples of applications using Tcl and Tk?
What: Alpha (Alpha 5.0)
Where: cs.rice.edu
Description: Macintosh System 7.0 shareware ($25) Tcl programmable editor.
Contact: pete@cs.rice.edu
What: arTCLs (artcls.tar.Z)
Where: barkley.berkeley.edu
Description: a Wish-based USENET news reader
Contact: mh@awds.imsd.contel.com (Mike Hoegeman)
What: BOS (bos-1.31.tar.Z)
Where: barkley.berkeley.edu,monch.edrc.cmu.edu
Description: The Basic Object System; SELF-like objects implemented in TCL.
This is also an extension to Tcl.
Contact: snl+bos-requests@cmu.edu (Admin. requests for BOS mailing list)
snl+box@cmu.edu (BOS mailing list)
What: browse.tcl
Where: alt.sources
Description: Directory browser w/Tcl
Contact: peter@taronga.com (Peter da Silva)
What: BYO (byo_tk2.1_v0.7.tar.Z, byo_v0.7_patch1)
Where: barkley.berkeley.edu
Description: A graphical User Interface Builder for Wish
Contact: byo@comp.vuw.ac.nz (BYO Development Team)
What: calc.tk
Where: barkley.berkeley.edu
Description: a simple calculator.
Contact: david@twg.com (David Herron)
What: coloredit (coloredit.tk)
Where: barkley.berkeley.edu
Description: Tk script to edit colors
Contact: "Sam Shen" <sls@aero.org>
What: dostcl (dostcl60.tar.Z/dostcl.zoo)
Where: barkley.berkeley.edu
Description: Experimental MS-DOS Tcl 6.0a port
Contact: "Karl Lehenbauer" <karl@NeoSoft.com>
What: Expect
Where: ftp.cme.nist.gov:/pub/expect/expect.shar.Z
Description: a scripting language to talk to interactive programs like ftp,
telnet, fsck, and others that cannot be automated from a shell script
Contact: libes@cme.nist.gov (Don Libes)
What: expecTerm (expecTerm1.0beta.tar.Z)
Where: ceylon.gte.com:pub/expecterm/expecTerm1.0beta.tar.Z,barkley.berkeley.edu
Description: expect with terminal emulation
Contact: matheus@gte.com (Christopher J. Matheus) and
weissman@get.com (Mark D. Weissman)
What: Extended Tcl (tclX6.4c.tar.Z)
Where: barkley.berkeley.edu, sprite.berkeley.edu
Description: an essential package of extensions for Tcl, compatible with
Tcl 6.4 and Tk 2.3.
Contacts: markd@grizzly.com (Mark Diekhans) and
karl@neosoft.com (Karl Lehenbauer)